A commanding system allows a user's input to a computer system to be connected to an action performed by the computer in response to the input. One example of commanding is the connection of the input keystroke “ctrl-c” to the action of copying of the selected material to the clipboard. One existing commanding system is the Microsoft Foundation Class (MFC) Library. Commanding systems such as the MFC Library are implemented on an application-by-application basis. In other words, in existing commanding systems, commanding is handled by each application individually.
Toolbars and menus are two examples of user interface elements that are typically provided with an application (or program) of a computer system. Toolbars and menus are integral to a commanding system, since the image buttons in toolbars and menu items in menus function as inputs that are connect to actions by the commanding system. For example, using a mouse to select an image button on a toolbar is an input that is connected to the action associated with the image button by the commanding system.
Toolbars and menus are typically developed in conjunction with the development of an application. Therefore, different applications can include toolbars and menus that are structured differently and function differently. The differences in the functionality of toolbars and menus across different applications can lead to inconsistencies in the manner in which inputs are connect to actions by the commanding system.